Amazon S3에 Amazon CloudFront OAI에 대한 액세스 권한을 부여할 때 발생하는 문제
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon S3에 Amazon CloudFront에 대한 액세스 권한을 부여할 때 발생하는 문제를 확인하고, 해결 방안에 대해서 정리해 봤습니다.
문제 발생
현재 도쿄 리전에 S3 버킷을 생성한 상태입니다.
과거에는 Amazon CloudFront 배포 생성 화면에서 OAI를 선택하면 버킷 정책 업데이트를 AWS가 자동으로 수행할지, 직접 할지 선택할 수 있었습니다.
2024년 9월 기준으로 OAI를 선택하면 배포를 생성한 다음 정책 설명을 제공하다는 메시지가 출력됩니다.
배포를 생성하면, 정책 업데이트를 위해 S3 버킷으로 이동할 수 있습니다.
하지만, 전혀 다른 리전(생성한 S3 버킷은 도쿄 리전이지만, 시드니 리전으로 이동이 된다.)으로 이동이 되어버려 정책을 수정할 수 없습니다. 이전과 동일하게 버튼 클릭 하나만으로 AWS가 자동으로 정책을 업데이트 해주지는 않는 것 같습니다.
해결 방안
이를 인지한 것인지 AWS에서는 별도로「정책 복사」를 지원합니다.
해당 버튼을 클릭하면 S3 버킷과 CloudFront 배포의 Arn을 포함한 정책을 복사합니다.
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "AllowCloudFrontServicePrincipal",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::xxxxxxxxx/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::xxxxxxxxx:distribution/xxxxxxxxx"
}
}
}
]
}
이렇게 복사한 정책을 바탕으로 직접 S3 버킷의 정책을 업데이트할 필요가 있습니다. 전혀 다른 리전으로 이동되어 버리는 문제는 이전부터 있었기 떄문에 어쩔 수 없는 것 같습니다. 하지만, 이전에는 정책 업데이트가 클릭 한 번으로 간편하게 이루어졌던 점을 고려할 때, 이 기능이 사라진 것은 다소 아쉽다고 느껴집니다.
Amazon CloudFront OAI에 대한 정책 설정에 대해서는 아래 AWS 공식 문서에서도 확인할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.